package top.lfyao.designpattern.details.singleton;

/**
 * 内部类法单例
 * 使用JVM本身机制保证了线程安全问题；由于 SingletonHolder 是私有的，除了 getInstance() 之外没有办法访问它，因此它只有在getInstance()被调用时才会真正创建；同时读取实例的时候不会进行同步，没有性能缺陷；也不依赖 JDK 版本。
 */
public class MethodFour {
    private static class SingletonHolder {
        private static final MethodFour FOUR=new MethodFour();
    }
    private MethodFour() {
    }

    public static MethodFour getInstance() {
       return SingletonHolder.FOUR;
    }
}
